QT       += core gui sql

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

CONFIG += c++11

# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

include (../../../public_src/logging/logging.pri)
include (../../../public_src/qbaseentity/qbaseentity.pri)
include (../../../public_src/qdatabasepool/qdatabasepool.pri)
include (../../../public_src/delegatecenter/delegatecenter.pri)
include (../../../public_src/progressmanage/progressmanage.pri)
include (../../../public_src/qflowlayout/qflowlayout.pri)
include (../../../public_src/qstringutils/qstringutils.pri)
include (../../../public_src/progressscreenshot/progressscreenshot.pri)
include (../../../public_src/qpagehelper/qpagehelper.pri)
include (../../../public_src/qtsingleapplication/qtsingleapplication.pri)
include (../../../public_src/heartbeatmanage/heartbeatmanage.pri)

SOURCES += \
    dao/daemonlogdao.cpp \
    dao/progressdao.cpp \
    database/databasecenter.cpp \
    entity/daemonlog.cpp \
    entity/progress.cpp \
    main.cpp \
    service/daemonlogservice.cpp \
    service/progressservice.cpp \
    view/daemonlogdialog.cpp \
    view/progresslistwidget.cpp \
    view/progressmanagedialog.cpp \
    view/progresssavedialog.cpp \
    view/progresswidget.cpp \
    view/settingdialog.cpp \
    vo/progressinfo.cpp \
    widget.cpp \
    worker/progressdaemonthread.cpp \
    worker/progressmonitorthread.cpp \
    worker/progressscreenshotthread.cpp

HEADERS += \
    dao/daemonlogdao.h \
    dao/progressdao.h \
    database/databasecenter.h \
    entity/daemonlog.h \
    entity/progress.h \
    service/daemonlogservice.h \
    service/progressservice.h \
    view/daemonlogdialog.h \
    view/progresslistwidget.h \
    view/progressmanagedialog.h \
    view/progresssavedialog.h \
    view/progresswidget.h \
    view/settingdialog.h \
    vo/progressinfo.h \
    widget.h \
    worker/progressdaemonthread.h \
    worker/progressmonitorthread.h \
    worker/progressscreenshotthread.h

FORMS += \
    view/daemonlogdialog.ui \
    view/progresslistwidget.ui \
    view/progressmanagedialog.ui \
    view/progresssavedialog.ui \
    view/progresswidget.ui \
    view/settingdialog.ui \
    widget.ui

INCLUDEPATH += entity \
                dao \
                database \
                service \
                view \
                vo \
                worker \
                hearbeatmanage \

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
# 配置程序以管理员身份运行
QMAKE_LFLAGS += /MANIFESTUAC:\"level=\'requireAdministrator\' uiAccess=\'false\'\"
QMAKE_LFLAGS += /SUBSYSTEM:WINDOWS

# ==========================构建输出配置==============================
#配置文件指定字符集：
win32-msvc* {# MSVC
    QMAKE_CXXFLAGS += /utf-8
}
unix { #GCC/Clang等
    QMAKE_CXXFLAGS += -finput-charset=UTF-8
}

# 定义基础目标名称
CONFIG(release, debug|release){
    BASE_TARGET = DaemonDogNode
} else {
    BASE_TARGET = DaemonDogNoded
}

# 根据架构设置不同的目标文件名
win32 {# Windows平台
    contains(QT_ARCH, x86_64) {# 64位架构
        TARGET = $$BASE_TARGET-64
    } else {# 32位架构
        TARGET = $$BASE_TARGET-32
    }
} else { # 其他平台（如Linux、macOS）
    contains(QT_ARCH, x86_64) { # 64位架构
        TARGET = $$BASE_TARGET-64
    } else:contains(QT_ARCH, i386) {# 32位架构
        TARGET = $$BASE_TARGET-32
    }
}
#构建输出路径
DESTDIR = $$PWD/../../build/$$TARGET
#构建临时文件
OBJECTS_DIR = $$PWD/../../build/makeout/$$TARGET/$$/obj
MOC_DIR = $$PWD/../../build/makeout/$$TARGET/moc
UI_DIR = $$PWD/../../build/makeout/$$TARGET/ui
RCC_DIR = $$PWD/../../build/makeout/$$TARGET/rcc


#程序信息
VERSION = 7.0.0
QMAKE_TARGET_PRODUCT = "DaemonDogNode"
QMAKE_TARGET_COMPANY = "ZhongKe Starlight Information Technology Co.,LTD @ YanLei"
QMAKE_TARGET_DESCRIPTION = "DaemonDogNode"
QMAKE_TARGET_COPYRIGHT = "ZhongKe Starlight Information Technology Co.,LTD @ YanLei"
#运行依赖库查找路径
QMAKE_RPATHDIR = ./

RESOURCES += \
    res.qrc
